package com.cheejee.goodscenter.service;

import javax.validation.constraints.NotNull;

import org.springframework.validation.annotation.Validated;

import com.cheejee.goodscenter.module.entity.BrandPropertiesTemplate;
import com.github.pagehelper.Page;

/**
 * @author CARRY
 * @Date 2020年10月22日下午11:35:12
 */
@Validated
public interface BrandPropertiesTemplateService {

	/**
	 * 按指定条件获取属性模板,多个条件and相连。
	 *
	 * @param brandPropertiesGroupId 属性分组id
	 * @param brandId 品牌id
	 * @param propertiesName 属性名称
	 * @param required 是否必填
	 * @param type 模板类型
	 * @param initial 首字母
	 * @param offset 分页位移量
	 * @param limit 每页内容数
	 * @return
	 */
	Page<BrandPropertiesTemplate> queryBrandPropertiesTemplate(Integer brandPropertiesGroupId, Integer brandId,
			String propertiesName, Boolean required, Byte type, String initial, int pageNum, int pageSize);

	/**
	 * 
	 *
	 * @param id
	 * @return
	 */
	BrandPropertiesTemplate queryBrandPropertiesTemplateById(@NotNull(message = "品牌属性模板id不能为空") Integer id);

	/**
	 * 添加品牌属性模板，如果需要添加不属于任何分组的属性模板，请把分组id设置为0
	 *
	 * @param propertiesTemplate
	 * @return
	 */
	int addBrandPropertiesTemplate(BrandPropertiesTemplate propertiesTemplate);

	/**
	 * 修改品牌属性模板，模板如果被使用则不能修改属性名称
	 *
	 * @param propertiesTemplate
	 * @return
	 */
	int changeBrandPropertiesTemplate(BrandPropertiesTemplate propertiesTemplate);

	/**
	 * 删除品牌属性模板
	 *
	 * @param id
	 * @return
	 */
	int deleteBrandPropertiesTemplate(@NotNull(message = "删除的品牌属性模板id不能为空") Integer... id);
}
